通过rails中的表单发布推文

时间:2012-01-14 01:05:26

标签: ruby-on-rails

好的,所以我正在努力使用我希望用来将推文发布到我的Twitter帐户的表单。 我正在使用gem'omniauth-twitter'和gem'twitter'。

我的表单并没有将它的内容发送到生活在products_controller.rb中的Twitter.update(),我无法弄清楚原因。

这是我到目前为止的代码......

来自我的index.html.erb

<%= form_tag do %>
<fieldset>
    <legend>140 char limit</legend>
    <div>
        <label for="mytweet">mytweet:</label>
        <%= text_field_tag :my_tweet, params[:my_tweet] %>
    </div>
    <div>
        <%= submit_tag "tweet" %>
    </div>
</fieldset>
<% end %>

来自我的products_controller.rb

def tweetfunc
if param[:tweet] != nil then
  Twitter.update(param[:tweet])
else
  #TODO display an error message
end

在我的routes.rb

controller :products do
post 'tweet' => :tweetfunc

....任何想法?

2 个答案:

答案 0 :(得分:0)

检查发布的index.html.erb的第一行:

<%= form_tag do %>

并向你的控制器输出一个网址:

<%= form_tag tweet_products_path do %>

你应该没事。

答案 1 :(得分:0)

在控制器中:

Twitter.update(params[:my_tweet]) if params[:my_tweet].present?

除此之外,我强烈建议您遵循REST架构,并拥有符合ActiveModel的Tweet类,并在该类的实例上使用表单构建器帮助程序,即。 for_for @tweet do |f| ...