размещение твита через форму в рельсах - PullRequest
0 голосов
/ 14 января 2012

Хорошо, я борюсь с формой, которую хочу использовать, чтобы публиковать твиты в моей учетной записи в твиттере. Я использую камень 'omniauth-twitter' и камень 'twitter'.

Моя форма не отправляет свой контент в Twitter.update (), который находится внутри products_controller.rb, и я не могу понять, почему.

Вот код, который у меня есть ...

из моего 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

конец

внутри моих маршрутов. Rb

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

конец

.... есть идеи?

Ответы [ 2 ]

0 голосов
/ 14 января 2012

В контроллере:

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

Кроме этого, я настоятельно рекомендую вам следовать REST-архитектуре, иметь совместимый с ActiveModel класс Tweet и использовать помощники по построению форм в экземплярах этого класса, т.е. for_for @tweet do |f| ...

0 голосов
/ 14 января 2012

проверьте первую строку вашего опубликованного index.html.erb:

<%= form_tag do %>

и URL вашего контроллера, вот так:

<%= form_tag tweet_products_path do %>

и с тобой все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...