如何通过link_to将属性名称作为辅助参数传递?

时间:2013-04-01 04:42:32

标签: ruby-on-rails-3

在我的应用程序控制器

class FeedEntriesController < ApplicationController
  def index
    @search = FeedEntry.search(params[:search])
    @feed_entries = @search.page(params[:page])
    @app_keys = AppKey.all
  end

  def update
    @feed_article = FeedEntry.find(params[:id])
    @feed_article.toggle!(@saad)
    redirect_to feed_entries_path
  end
end

在我的Views / feed_entries / index.html.erb

<div id="content">
<%= paginate @feed_entries, :theme => 'twitter-bootstrap'%>
<p><%= render(@feed_entries) || 'There is no Feeds'%><p>
<%= paginate @feed_entries, :theme => 'twitter-bootstrap'%>
</div>

在_feed_entry.html.erb partial。

<%= link_to "Make UnStar |", feed_entry_path(:id => feed_entry.id, @saad => :is_to_read), method: :put %> <%= link_to feed_entry.name, feed_entry.url %>

但是上面的代码不起作用,我只想通过:is_to_read将属性名称(link_to)作为辅助参数传递给控制器​​的更新操作。

费用表的

:is_to_read is boolean属性。

请有人帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

参数是一对名称和值。所以它应该是:: saad =&gt; ...而不是@saad =&gt; 此外,您需要在对象上调用is_to_read属性。所以:

<%= link_to "Make UnStar |", feed_entry_path(:id => feed_entry.id, :saad => @feedentry.is_to_read), method: :put %>