我正在创建一个CMS的网站,你有'Menucards',你可以把'Categories'放入。我被困在添加菜单卡的ID到类别的数据库表中。从另一个项目添加一个ID /变量到当前项目并添加到数据库
我认为会的工作方式是以下几点:
在数据库类别表
create_table "categories", :force => true do |t|
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "name"
t.integer "menucard_id"
end
在menucards指数:
<%= link_to("menucard", { :action => 'show', :id => menucard.id}) %>
这使我像一个URL这个:“http:// localhost:3000/menucards/1”
这是t他menucard:
<%= link_to("Categorie toevoegen",
{:controller => 'categories',
:action => 'new',
:menucard_id => '@current_menucard'},
:class => 'btn btn-green')
%>
在我定义current_menucard这样的application_controller:
def current_menucard
current_menucard = Menucard.find(params[:id])
end
如果我按使用来自类别的link_to的网址为“http://本地主机:3000 /分类/新? menucard_id =%40current_menucard“
我看到使用:menucard_id =>'@current_menucard'实际上并不工作。我被困在这个部分。 感谢您的帮助!
欲了解更多信息:
categories_controller:
<div class="form-area">
<%= form_for([@category], :url => { :action => 'create'}, :html => { :id => "js-editor-page"}) do |category| %>
<label for="name">
<h2>Naam</h2>
<%= category.text_field :name, :class => "full", :placeholder => "Wat is de naam van deze categorie?" %>
</label>
<%= category.hidden_field :menucard_id, :value => current_menucard %>
</div><!-- .form-area -->
<aside class="form-actions">
<%= category.submit "Opslaan", :class => "btn btn-green" %>
<% end %>
UPDATE
我更新了我的代码MurifoX的答案。现在,数据库中的menucard_id仍未更新。正如你可以看到我用一个隐藏字段来传递current_menucard的价值,但它给了我下面的:
Couldn't find Menucard without an ID
但后来在我得到了正确的参数的errorPage:
Parameters:
{"menucard_id"=>"67"}
为什么是不是正在更新?
这工作就像一个魅力 –